# 封装
class User(object):
    def __init__(self,name,age):
        self._name = name # 受保护的变量
        self.__age = age # 私有变量

    '''
    把函数当作变量使用的方法：
    @property
    def 变量名():#获取变量
    return self._name
    
    '''

    @property #获取变量
    def age(self):
        return self.__age

    @age.setter #变量的修改器
    def age(self,age):
        if isinstance(age,int):
            self.__age = age
        else:
            raise Exception('年龄只能是整数')

    def __show_infos(self):
        print('大家好，我是%s,我今年%d'% (self._name, self.__age))



mia = User('mia',24)
# print(mia.get_age())
# mia.set_age('25')
# print(mia.get_age())

'''
print(mia.age)
mia.age = 25
print(mia.age)
'''

print(mia.age)
mia.age = 25
print(mia.age)



# print(mia._name)
# print(mia._User__age)
# print(mia.__age)
# mia.__show_infos()
# print(dir(mia))
# print(mia.__dict__)
# print(mia._User__show_infos())
# mia.name = 'Tom'
# mia.age = 25
